﻿using System;
using SharpSqlAnalyzer.pp.processor;
using SharpSqlAnalyzer.pp.stmtformatter.type;
using SharpSqlAnalyzer.pp.stmtformatter.type.comm;

namespace SharpSqlAnalyzer.pp.stmtformatter.builder.comm
{
	// Token: 0x0200021C RID: 540
	public class CreateTriggerStmtFormatterBuilder : AbstractStmtFormatterBuilder
	{
		// Token: 0x06001263 RID: 4707 RVA: 0x00318D6C File Offset: 0x00316F6C
		protected internal override void initSpecialProcessorForFormatter(AbstractStmtFormatter formatterArg)
		{
			PlsqlStmtFormatter plsqlStmtFormatter = formatterArg as PlsqlStmtFormatter;
			plsqlStmtFormatter.addSpecialProcessor(ProcessorFactory.createCapitalisationProcessor(this.Option));
			plsqlStmtFormatter.addSpecialProcessor(ProcessorFactory.createCombineWhitespaceAndClearReturnProcessor(this.Option));
			plsqlStmtFormatter.addSpecialProcessor(ProcessorFactory.createCreateFuncLeftBEProcessor(this.Option, new bool?(this.Option.beStyleFunctionLeftBEOnNewline), new int?(this.Option.beStyleFunctionLeftBEIndentSize)));
			plsqlStmtFormatter.addSpecialProcessor(ProcessorFactory.createCreateFuncRightBEProcessor(this.Option, new bool?(this.Option.beStyleFunctionRightBEOnNewline), new int?(this.Option.beStyleFunctionRightBEIndentSize)));
			plsqlStmtFormatter.addSpecialProcessor(ProcessorFactory.createCreateFuncFirstParamInNewlineProcessor(this.Option, new bool?(this.Option.beStyleFunctionFirstParamInNewline)));
			plsqlStmtFormatter.addSpecialProcessor(ProcessorFactory.createCreateFuncReturnsTableProcessor(this.Option));
			plsqlStmtFormatter.addSpecialProcessor(ProcessorFactory.createCreateFuncWSPaddingParenthesesProcessor(this.Option));
			plsqlStmtFormatter.addParameterProcessor(ProcessorFactory.createColumnlistCommaProcessor(this.Option, this.Option.parametersComma, this.Option.parametersStyle));
			plsqlStmtFormatter.addParameterProcessor(ProcessorFactory.createAlignAliasProcessor(this.Option, true, this.Option.parametersStyle));
		}

		// Token: 0x06001264 RID: 4708 RVA: 0x00318E89 File Offset: 0x00317089
		protected internal override AbstractStmtFormatter newInstanceFormatter()
		{
			return new PlsqlStmtFormatter();
		}
	}
}
